<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<style>
		div{
			padding: 10px;
			background-color: #FFDAB9;
			border: 2px dotted #FF0000;
		}
		li{border: 1px dashed slateblue;padding: 5px 0;}
	</style>

	<body>
		<div>
			<h1>1.什么是WebSQL？</h1>
			<p>是随着HTML5规范加入的在浏览器端运行的轻量级数据库</p>
		</div>
		<div>
			<h1>2.jQuery 的属性拷贝(extend)的实现原理是什么，如何实现深拷贝？</h1>
			<p>
				<h3>原理</h3>: 创建一个按钮, 让他每点击一次就创建一个自己, 并且创建出来的按钮也有这个功能(类似于递归)

				<h3>实现深度拷贝:</h3>
				<ol>
					<li>检测当前属性是否为对象</li>
					<li>因为数组是特殊的对象，所以，在属性为对象的前提下还需要检测它是否为数组。</li>
					<li>如果是数组，则创建一个[]空数组，否则，创建一个{}空对象，并赋值给子对象的当前属性。然后，递归调用extendDeep函数。</li>
					</li>
				</ol>
			</p>
		</div>
		<div>
			<h1>3.谈一下Jquery中的bind(),live(),delegate(),on()的区别？</h1>
			<ul>
				<li>.bind()是直接绑定在元素上</li>
				<li>.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的，绑定到document DOM节点上。和.bind()的优势是支持动态数据。</li>
				<li>.delegate()则是更精确的小范围使用事件代理，性能优于.live()</li>
				<li>.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制</li>
			</ul>
		</div>
		<div>
			<h1>4.JQuery一个对象可以同时绑定多个事件，这是如何实现的？</h1>
			<p>
				$ele.on('eventName', handle1);<br />
				$ele.on('eventName', handle2);<br />
				$ele.on('eventName', handle3);<br />
				其实$ele元素的eventName事件有一个处理函数数组 监听一次就往里面放一个handle， 数组是先进后出型的也就是栈， 然后触发事件的时候一次执行<br />
				上面的监听相当于<br />
				$ele.eventHandle['eventName'] = [];<br />
				$ele.eventHandle['eventName'].push(handle1);<br />
				$ele.eventHandle['eventName'].push(handle2);<br />
				$ele.eventHandle['eventName'].push(handle3);<br />
				然后$ele.trigger('eventName')触发的时候， 从栈里面取出处理函数执行<br />

while($ele.eventHandle['eventName'].length) {<br />
    handle = $ele.eventHandle['eventName'].pop();<br />
    handle();<br />
}	<br />
最先监听的最后执行<br />
			</p>
		</div>
		<div>
			<h1>5.Javascript MVC框架有：Ember.js、Backbone.js、Knockout.js、Spine.js、Batman.js 和 Angular.js等。(看看, 不用作答)</h1>
		</div>
		<div>
			<h1>知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout...)么? 能讲出他们各自的优点和缺点么?</h1>
			<p>angular优点是功能强大，覆盖了mvc的各种功能，缺点是框架偏重，比较适合逻辑复杂，访问量不是很大的网站</p>
			<p>react的优点是轻量，功能不如angular多，只负责view层，比较适合逻辑轻但访问量大的网站</p>
		</div>
	</body>

</html>